Information processing apparatus, non-transitory computer readable medium, information processing method

ABSTRACT

An information processing apparatus that serves as a display that displays a list of processes executed by applications includes a list display controller and an operation screen display controller. The list display controller causes, for each of the processes, an operator to be displayed in the list, the operator being provided for displaying an operation screen for performing operation of a function that is specific to corresponding one of the applications. The operation screen display controller causes the operation screen provided for the operator to be displayed when the operator is operated in the list.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 fromJapanese Patent Application No. 2016-061163 filed Mar. 25, 2016.

BACKGROUND

(i) Technical Field

The present invention relates to an information processing apparatus, anon-transitory computer readable medium, and an information processingmethod.

(ii) Related Art

Some of information processing apparatuses having multiple applicationsdisplay a list of processes of the applications. The process list coversitems shared by the applications such as the start and end times of eachprocess of the corresponding application, the name of a user whodesignates the process, the progress of the process, and success orfailure of the process.

SUMMARY

According to an aspect of the invention, there is provided aninformation processing apparatus that serves as a display that displaysa list of processes executed by applications. The information processingapparatus includes a list display controller and an operation screendisplay controller. The list display controller causes, for each of theprocesses, an operator to be displayed in the list, the operator beingprovided for displaying an operation screen for performing operation ofa function that is specific to corresponding one of the applications.The operation screen display controller causes the operation screenprovided for the operator to be displayed when the operator is operatedin the list.

BRIEF DESCRIPTION OF THE DRAWINGS

An exemplary embodiment of the present invention will be described indetail based on the following figures, wherein:

FIG. 1 is a diagram illustrating the hardware configuration of an imageforming apparatus;

FIG. 2 is a block diagram illustrating the functional configuration ofthe image forming apparatus;

FIG. 3 is a diagram illustrating screen transition according to acomparative example;

FIG. 4 is a diagram illustrating screen transition according to theexemplary embodiment;

FIG. 5 is a table illustrating example pieces of calling information;

FIG. 6 is a table illustrating the data structure of job managementinformation;

FIG. 7 is a table illustrating example pieces of job managementinformation;

FIG. 8 is a table illustrating example association between an assumedcondition of a process in each application and corresponding callinginformation;

FIG. 9 is a flowchart illustrating processing performed by thecontroller;

FIG. 10 is a flowchart illustrating processing performed by thecontroller;

FIG. 11 is a diagram illustrating the screen transition according to theexemplary embodiment;

FIGS. 12A, 12B, and 12C are diagrams illustrating the screen transitionaccording to the exemplary embodiment; and

FIGS. 13A and 13B are diagrams illustrating the screen transitionaccording to the exemplary embodiment.

DETAILED DESCRIPTION Configuration

An example of an exemplary embodiment of the present invention will bedescribed.

FIG. 1 is a diagram illustrating the hardware configuration of an imageforming apparatus 10. The image forming apparatus 10 is an example of aninformation processing apparatus according to the exemplary embodiment.The image forming apparatus 10 includes a controller 11, a memory 12, acommunication unit 13, a user interface (UI) unit 14, a reading unit 15,an image processing unit 16, and an image forming unit 17.

The controller 11 includes a computing device such as a centralprocessing unit (CPU) and memory devices such as a read only memory(ROM) and a random access memory (RAM) and performs overall control ofthe image forming apparatus 10 including display control as to bedescribed later. The ROM stores firmware describing procedures forstarting hardware or the operating system (OS). The RAM is used to storedata used for the CPU to execute computation. The memory 12 includes,for example, a semiconductor memory and a hard disk memory device andstores not only the OS but also applications (programs) for implementingvarious functions and pieces of data. The communication unit 13 includesa communication interface (I/F) for communications with an externalelectronic device. The communication unit 13 is connected to acommunication network such as a local area network (LAN).

The UI unit 14 includes a display and an operation unit. The displayincludes, for example, a liquid crystal display device and displays, ona display surface, a UI screen used for a user operation of the imageforming apparatus 10. The operation unit includes, for example, a touchpanel covering the display surface of the display or a keyboard adjacentto the display surface. The operation unit receives a user operation andoutputs a signal corresponding to the operation to the controller 11.The controller 11 controls the image forming apparatus 10 in accordancewith the operation.

The reading unit 15 optically reads a document and generates image data.The reading unit 15 is, for example, an image scanner including platenglass, a light source, an optical system, a color filter, and an imagingdevice. The light source radiates light onto the document placed on theplaten glass, and light reflected on the document enters the imagingdevice through the optical system and the color filter. The imagingdevice converts the incident light into an image signal and outputs theimage signal to the image processing unit 16. The image processing unit16 performs image processing such as screen processing and colorconversion on the image signal output from the reading unit 15 andgenerates raster data. The image forming unit 17 forms an image based onthe raster data generated by the image processing unit 16 on paper thatis a recording medium. Examples of an image forming method includes anelectrophotographic system and an inkjet system.

FIG. 2 is a block diagram illustrating the functional configuration ofthe image forming apparatus 10. These functions are implemented in sucha manner that the controller 11 runs the programs stored in the ROM andthe memory 12. A list display controller 110 displays a list ofprocesses executed by the applications on the display. Further, the listdisplay controller 110 displays, in the list, operators each fordisplaying a corresponding operation screen for performing operation ofan application-specific function in a process. When the user performsoperation on any one of the operators in the list, an operation screendisplay controller 120 displays an operation screen provided for theoperator on the display. The operation screen enables the user tooperate the function of the application.

Transition among screens displayed by the image forming apparatus 10according to the exemplary embodiment and screen transition in acomparative example will be described for easier understanding of theexemplary embodiment. The screen transition is implemented in such amanner that the controller 11 performs display control of the display.In the comparative example illustrated in FIG. 3, when the user performsoperation on an operator image “Job list” on the initial screen called aHome screen, the Home screen transitions to a job list screen (arrow(1)). In the exemplary embodiment, the term “job” corresponds to a“process” performed in the exemplary embodiment. When the user selectsan operator image “Open” for a job “Scan and translate” out of jobsincluded on the job list screen, the screen transitions to a job detailscreen (arrow (2)). The job detail screen displays a detailed messageregarding the selected job and reveals that, in the example in Fig, 3,the state of a scanner (the reading unit 15) needs to be checked. Theuser accordingly performs operation on an operator image “Close” on thejob detail screen not to display the job detail screen at the presenttime. The screen returns to the job list screen (arrow (3)). Further,the user performs operation on the operator image “Close” on the joblist screen not to display the job list screen, and the screen returnsto the Home screen (arrow (4)). When the user performs operation on theoperator image “Check device” for checking the state of the scanner(reading unit 15) on the Home screen, the screen transitions to a devicecheck screen (arrow (5)). When an operator image “Open” for “Scanner” isselected on the device check screen, the screen transitions to a scannerdetail screen (arrow (6)). The user checks the state of the scanner onthe scanner detail screen.

In contrast, in the screen transition according to the exemplaryembodiment illustrated in FIG. 4, when the user performs operation on anoperator image “Job list” on a Home screen, the Home screen transitionsto a job list screen (an example of a list of processes in the exemplaryembodiment) (arrow (1)). When the user selects an operator image “Open”for a job “Scan and translate” out of jobs included on the job listscreen, the screen transitions to a job detail screen (an example of anoperation screen according to the exemplary embodiment) (arrow (2)). Thejob detail screen displays a detailed message regarding the selected joband reveals that, in the example in FIG. 4, the state of the scanner(reading unit 15) needs to be checked. The job detail screen furtherincludes an operator image “Check scanner” for checking the state of thescanner. When the user performs operation on the operator image, thescreen transitions to a scanner detail screen (arrow (3)). The scannerdetail screen is displayed by a function specific to an application thatperforms the scan and translation. The user checks the state of thescanner on the scanner detail screen. As described above, six steps areneeded to reach the scanner state checking (application-specificfunction) in the scan and translation application in the comparativeexample, while three steps are needed in the exemplary embodiment.

Referring back to FIG. 1, the memory 12 stores pieces of callinginformation as illustrated in FIG. 5. Each piece of calling informationis a set composed of an application to be called from the process listand a parameter used to call the application (information designating anapplication-specific function). For example, in the example in FIG. 5, aset composed of a piece of information designating a device informationmanagement application (the application name is “devicemgr.exe”) and aparameter indicating opening of a device list screen in the deviceinformation management application (“NIL” in FIG. 5) corresponds to apiece of calling information. A set composed of a piece of informationdesignating the device information management application (theapplication name is “devicemgr.exe”) and a parameter indicating openingof a detail screen of a device designated in the device informationmanagement application (-s[printer], -s[scanner], or -s[fax])corresponds to a piece of calling information. In another example, a setcomposed of a piece of information designating a file list application(the application name is “filebrowser.exe”) and a parameter (-p[folder])indicating designation of a software button (operator image) “Open” inthe file list application corresponds to a piece of calling information.

In addition, the memory 12 stores pieces of job management informationin the data structure as illustrated in FIG. 6. Each piece of jobmanagement information is provided for managing jobs and includes anidentifier ID for identifying a job, the start date and time of the job,the status of the job, the content of the job, a comment to be displayedon the job list screen, and the corresponding piece of callinginformation. FIG. 7 illustrates example pieces of job managementinformation.

The memory 12 also stores assumed statuses (“Condition” in FIG. 8) ofprocesses in the applications as illustrated in FIG. 8 and theaforementioned pieces of calling information in association with eachother. For example, when a process succeeds in a drawing differencedetection application that detects a difference between two images anddisplays the difference in a distinguished manner, all the files in afile list displayed by the file list application and the software button“Open” (operator image) are displayed in a selected state. In addition,when translation accuracy is low in the scan and translation applicationthat scans and translates a document, the file list application displaysall the files in the file list in the selected state, and further thedevice information management application displays scan information.

Operations

Operations according to the exemplary embodiment will be described. InFIG. 9, when an application that processes a job (such as the drawingdifference detection application or the scan and translationapplication) starts the job, the controller 11 judges whether a functionof the application to be called from the job list is present on thebasis of information as illustrated in FIG. 8 (step S1). Specifically,the controller 11 identifies the job status (Condition in FIG. 8) in theapplication in the job list and judges whether a piece of callinginformation (FIG. 8) has been stored in the memory 12 in associationwith the status of the identified job. If the piece of callinginformation is present (YES in step S1), the controller 11 reads thepiece of calling information (FIG. 5) from the memory 12 and stores thepiece of calling information in the RAM (step S2).

While the job is being processed (step S3), and every time the status ofthe job is changed (step 84), the controller 11 judges whether thefunction of the application to be called from the job list is changed,on the basis of the information as illustrated in FIG. 8 (step S5). Ifthe function to be called from the job list is changed (YES in step S5),the controller 11 reads, from the memory 12, a piece of callinginformation for the function to be called and overwrites the piece ofcalling information previously stored in the RAM with the read piece ofcalling information (step 86). The controller 11 repeats steps S3 to S6as described above until jobs of applications in the job list arecomplete (YES in step S7). A piece of calling information for thecurrent process in each application is thereby stored in the RAM at alltimes.

A process for displaying the job list by using the piece of callinginformation stored in the RAM in the processing in FIG. 9 will bedescribed with reference to FIG. 10. In FIG. 10, if the user requestsacquisition of job information by using a job list application, that is,if the user requests display of the job list (step S11), the controller11 judges whether a piece of calling information for the job has beenstored in the RAM (step S12). If the piece of calling information hasbeen stored in the RAM (YES in step S12), the controller 11 uses thepiece of calling information to display the job list screen that enablesthe function of the application to be called (step S14). Specifically,as illustrated in FIG. 11, the controller 11 arranges and displays thesoftware button (operator image) “Open” for performing operation of afunction of each application in the detail column of the job list screenfor the applications. If the piece of calling information has not beenstored in the RAM (NO in step S12), the controller 11 displays a screenindicating no function calling.

In FIG. 10, when the controller 11 receives a calling request from theuser, that is, when an operator image “Open” is operated in the examplein FIG. 11 (step S15), the controller 11 calls a requested function ofan application and displays an operation screen for performing operationof the function (step S16). For example, if an operator image “Open” isoperated for the drawing difference detection application in FIG. 11,the screen transitions to an operation screen for the drawing differencedetection application (arrow (1)). For example, if an operator image“Open” is operated for the scan and translation application, the screentransitions to an operation screen for the scan and translationapplication (arrow (2)). The operation screens are arranged in multiplelevels. For example, if an operator image “Check” is operated on thehighest-level operation screen in the drawing difference detectionapplication, the screen transitions to the file list screen illustratedin FIG. 12B that corresponds to a one-level lower operation screen(arrow (3)). For example, if an operator image “Check result” isoperated on the highest- level operation screen in the scan andtranslation application, the screen transitions to the file list screenillustrated in FIG. 12C that corresponds to a one-level lower operationscreen (arrow (4)). If an operator image “Check scanner” is operated onthe highest-level operation screen in the scan and translationapplication, the screen transitions to the device check screenillustrated in FIG. 13B that corresponds to a one-level lower operationscreen (arrow (5)). As described above, an operation screen to be callednext from the current operation screen has been determined in accordancewith the stored information as illustrated in FIG. 8. The user operatesan application-specific function on the corresponding operation screen.

Modifications

Modifications may be made to the exemplary embodiment as follows.Multiple modifications may be combined.

Modification 1

In the exemplary embodiment, pieces of calling information each forcalling an application function are stored. If an operator is operatedin the process list, an operation screen for performing operation of theapplication function is displayed on the basis of a piece of callinginformation assigned to the operator. More specifically, in theexemplary embodiment, the image forming apparatus 10 stores the statusesof jobs (Conditions) and pieces of calling information in associationwith each other (FIG. 8), identifies the status of a job being executed,reads a piece of calling information associated with the identifiedstatus of the job, and displays an operation screen for performingoperation of the application function on the basis of the piece ofcalling information (FIG. 5). That is, every time the status of the jobis changed, the image forming apparatus 10 reads an associated piece ofcalling information and displays the corresponding operation screen.Alternatively, the image forming apparatus 10 may read all the pieces ofcalling information from the memory 12 at the time of job start andstore the pieces of calling information in the RAM. When the status ofthe job is changed, the image forming apparatus 10 may select a piece ofcalling information corresponding to the change result and display anoperation screen by using the selected piece of calling information.That is, the controller 11 reads all the pieces of calling information,identifies the status of a process being executed, and displays anoperation screen for performing operation of an application function onthe basis of one of the read piece of calling information that isassociated with the identified status of the process.

Modification 2

In the exemplary embodiment, each piece of calling information isdescribed using a command line option but may be described using, forexample, a uniform resource locator (URL) query string (for example,#?function=filebrowse,openfolder=c:\user\fujii,selection=fileA#fileB,selectbutton=open)or an application program interface (API) (for example,call(filebrowse,c\user\fujii,filelist,open). That is, any calling formatmay be used.

Modification 3

The degree of detail of designation of an application function dependson the application. For example, a function of filtering based on anextension, a user, an application that generates the screen, or the likemay be provided on a file list screen, or a function of enabling ordisabling a designated button may be provided.

Modification 4

Any status of a process may be used to call a function. For example, ife-mailing of scanned data fails in the drawing difference detectionapplication, an operator image (software button) for performingoperation of a function such as calling a function of checking a mailserver or calling an e-mail address screen of an address book may beadditionally displayed.

Modification 5

In the exemplary embodiment, job management information has six jobattributes but may have other attributes such as an end time, theprogress, a counterpart, and an application name in addition to these.The job attributes other than the calling information may be eliminateddepending on the configuration of the system.

Modification 6

In the exemplary embodiment, the job detail screen is providedseparately from the job list screen, but the operator images (in anyform enabling a function to be called, such as a link) may be arrangedon the job list screen to display a comment in a popover (a balloon isdisplayed when the cursor is placed on an operator image).

Modification 7

In the exemplary embodiment described above, the image forming apparatus10 displays the job list screen and the operation screens serving as theuser interface, but an information processing apparatus such as apersonal computer serving as a host apparatus of the image formingapparatus 10 may display these screens.

Modification 8

In the exemplary embodiment described above, the example in which thecontroller 11 runs the programs to thereby implement the functionsdescribed above has been described, but the functions may be implementedby hardware circuits. The programs may also be provided in such a manneras to be recorded in a computer readable recording medium such as anoptical recording medium or a semiconductor memory. The programs may beread from the recording medium to be installed on the informationprocessing apparatus. The programs may also be provided through anelectric telecommunications network.

The foregoing description of the exemplary embodiment of the presentinvention has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Obviously, many modificationsand variations will be apparent to practitioners skilled in the art. Theembodiment was chosen and described in order to best explain theprinciples of the invention and its practical applications, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with the various modifications as are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the following claims and their equivalents.

What is claimed is:
 1. An information processing apparatus that servesas a display that displays a list of processes executed by applications,the information processing apparatus comprising: a list displaycontroller that causes, for each of the processes, an operator to bedisplayed in the list, the operator being provided for displaying anoperation screen for performing operation of a function that is specificto corresponding one of the applications; and an operation screendisplay controller that causes the operation screen provided for theoperator to be displayed when the operator is operated in the list. 2.The information processing apparatus according to claim 1, wherein theoperation screen display controller stores pieces of calling informationfor calling the functions of the applications, and wherein when theoperator is operated in the list, the operation screen displaycontroller causes the operation screen for performing the operation ofthe function of the corresponding application to be displayed on a basisof one of the pieces of calling information that is assigned to theoperator.
 3. The information processing apparatus according to claim 2,wherein the operation screen display controller stores statuses of theprocesses and the pieces of calling information in association with eachother, identifies a status of one of the processes that is beingexecuted, reads one of the pieces of calling information that isassociated with the identified status, and causes the operation screenfor performing the operation of the function of the correspondingapplication to be displayed on a basis of the read piece of callinginformation.
 4. The information processing apparatus according to claim2, wherein the operation screen display controller stores statuses ofthe processes and the pieces of calling information in association witheach other, reads all of the pieces of calling information, identifies astatus of one of the processes that is being executed, and causes theoperation screen for performing the operation of the function of thecorresponding application to be displayed on a basis of one of the readpieces of calling information that is associated with the identifiedstatus.
 5. A non-transitory computer readable medium storing a programcausing a computer to execute a process for displaying a list ofprocesses executed by applications, the process comprising: causing, foreach of the processes, an operator to be displayed in the list, theoperator being provided for displaying an operation screen forperforming operation of a function that is specific to corresponding oneof the applications; and causing the operation screen provided for theoperator to be displayed when the operator is operated in the list. 6.An information processing method for displaying a list of processesexecuted by applications, the information processing method comprising:causing, for each of the processes, an operator to be displayed in thelist, the operator being provided for displaying an operation screen forperforming operation of a function that is specific to corresponding oneof the applications; and causing the operation screen provided for theoperator to be displayed when the operator is operated in the list.